/*
 * trace_VariableBlock.h
 *
 *  Created on: 2012/07/10
 *      Author: guanxiaoying
 */

#ifndef TRACE_VARIABLEBLOCK_H_
#define TRACE_VARIABLEBLOCK_H_
/* temporary variables manager */

typedef struct {
	BOOL (*clear)( VOID );
	BOOL (*alloc)( AST );
	AST  (*getMax)( VOID );
	/* property below: the first temporary variable */
	ACCESS_IDX_FIELD first;
	/* property below: the last temporary variable */
	ACCESS_IDX_FIELD last;
	/* property below: the number of temporary variables */
	ACCESS_U4_FIELD size;
	/* property below: status of this block.( be cleared or not ) */
	ACCESS_U4_FIELD flag;
}TRVARIABLEBLOCKACCESS;

extern const TRVARIABLEBLOCKACCESS stTrVariableBlockAccess;
#endif /* TRACE_VARIABLEBLOCK_H_ */
